home *** CD-ROM | disk | FTP | other *** search
- function go_out()
- {
- var _loc1_ = undefined;
- var _loc5_ = catx;
- var _loc4_ = caty;
- _loc1_ = 0;
- while(_loc1_ < 6)
- {
- var _loc3_ = !(_loc4_ % 2) ? _loc5_ + addx0[_loc1_] : _loc5_ + addx1[_loc1_];
- var _loc2_ = _loc4_ + addy0[_loc1_];
- if(cel[_loc2_][_loc3_].stat == 0)
- {
- catx = _loc3_;
- caty = _loc2_;
- catdir = _loc1_;
- return 1;
- }
- _loc1_ = _loc1_ + 1;
- }
- return 0;
- }
- function goto_win()
- {
- var _loc5_ = catx;
- var _loc4_ = caty;
- var _loc1_ = 0;
- while(_loc1_ < 6)
- {
- var _loc3_ = !(_loc4_ % 2) ? _loc5_ + addx0[_loc1_] : _loc5_ + addx1[_loc1_];
- var _loc2_ = _loc4_ + addy0[_loc1_];
- if(cel[_loc2_][_loc3_].stat == 1)
- {
- if(cel[_loc2_][_loc3_].win)
- {
- catx = _loc3_;
- caty = _loc2_;
- catdir = _loc1_;
- return 1;
- }
- }
- _loc1_ = _loc1_ + 1;
- }
- return 0;
- }
- function get_nearest()
- {
- var _loc2_ = undefined;
- var _loc6_ = undefined;
- var _loc1_ = undefined;
- var _loc3_ = undefined;
- var _loc11_ = undefined;
- cel[caty][catx].po = 0;
- lx[0] = catx;
- ly[0] = caty;
- var _loc12_ = 1;
- var _loc7_ = 999;
- po = 1;
- while(po < 200)
- {
- _loc3_ = 0;
- _loc2_ = 0;
- while(_loc2_ < _loc12_)
- {
- var _loc5_ = lx[_loc2_];
- var _loc4_ = ly[_loc2_];
- _loc1_ = 0;
- while(_loc1_ < 6)
- {
- var _loc9_ = !(_loc4_ % 2) ? _loc5_ + addx0[_loc1_] : _loc5_ + addx1[_loc1_];
- var _loc8_ = _loc4_ + addy0[_loc1_];
- if(cel[_loc8_][_loc9_].stat == 1)
- {
- if(cel[_loc8_][_loc9_].po < 0)
- {
- cel[_loc8_][_loc9_].po = po;
- lx2[_loc3_] = _loc9_;
- ly2[_loc3_] = _loc8_;
- _loc3_ = _loc3_ + 1;
- if(cel[_loc8_][_loc9_].win && po < _loc7_)
- {
- _loc7_ = po;
- }
- }
- }
- _loc1_ = _loc1_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- if(_loc3_ == 0)
- {
- break;
- }
- _loc2_ = 0;
- while(_loc2_ < _loc3_)
- {
- lx[_loc2_] = lx2[_loc2_];
- ly[_loc2_] = ly2[_loc2_];
- _loc2_ = _loc2_ + 1;
- }
- _loc12_ = _loc3_;
- po++;
- }
- if(_loc7_ == 999)
- {
- return 0;
- }
- _loc3_ = 0;
- _loc2_ = 0;
- while(_loc2_ < ymax)
- {
- _loc6_ = 0;
- while(_loc6_ < xmax)
- {
- if(cel[_loc2_][_loc6_].po == _loc7_ && cel[_loc2_][_loc6_].win)
- {
- lx[_loc3_] = _loc6_;
- ly[_loc3_] = _loc2_;
- _loc3_ = _loc3_ + 1;
- }
- _loc6_ = _loc6_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- if(_loc3_ == 0)
- {
- return 0;
- }
- _loc11_ = Math.floor(Math.random() * _loc3_);
- _loc5_ = lx[_loc11_];
- _loc4_ = ly[_loc11_];
- var _loc10_ = 0;
- while(_loc10_ < 200)
- {
- _loc3_ = 0;
- _loc1_ = 0;
- while(_loc1_ < 6)
- {
- _loc9_ = !(_loc4_ % 2) ? _loc5_ + addx0[_loc1_] : _loc5_ + addx1[_loc1_];
- _loc8_ = _loc4_ + addy0[_loc1_];
- if(cel[_loc8_][_loc9_].stat == 1)
- {
- if(cel[_loc8_][_loc9_].po < cel[_loc4_][_loc5_].po)
- {
- lx[_loc3_] = _loc9_;
- ly[_loc3_] = _loc8_;
- ld[_loc3_] = _loc1_;
- _loc3_ = _loc3_ + 1;
- }
- }
- _loc1_ = _loc1_ + 1;
- }
- if(_loc3_ == 0)
- {
- return 0;
- }
- _loc11_ = Math.floor(Math.random() * _loc3_);
- _loc5_ = lx[_loc11_];
- _loc4_ = ly[_loc11_];
- if(cel[_loc4_][_loc5_].po == 1)
- {
- catx = _loc5_;
- caty = _loc4_;
- catdir = 0;
- _loc1_ = 0;
- while(_loc1_ < 6)
- {
- _loc9_ = !(_loc4_ % 2) ? _loc5_ + addx0[_loc1_] : _loc5_ + addx1[_loc1_];
- _loc8_ = _loc4_ + addy0[_loc1_];
- if(cel[_loc8_][_loc9_].po == 0)
- {
- catdir = (_loc1_ + 3) % 6;
- }
- _loc1_ = _loc1_ + 1;
- }
- return 1;
- }
- _loc10_ = _loc10_ + 1;
- }
- return 0;
- }
- function rand_move()
- {
- var _loc6_ = catx;
- var _loc5_ = caty;
- var _loc2_ = 0;
- var _loc1_ = 0;
- while(_loc1_ < 6)
- {
- var _loc4_ = !(_loc5_ % 2) ? _loc6_ + addx0[_loc1_] : _loc6_ + addx1[_loc1_];
- var _loc3_ = _loc5_ + addy0[_loc1_];
- if(cel[_loc3_][_loc4_].stat == 1)
- {
- lx[_loc2_] = _loc4_;
- ly[_loc2_] = _loc3_;
- ld[_loc2_] = _loc1_;
- _loc2_ = _loc2_ + 1;
- }
- _loc1_ = _loc1_ + 1;
- }
- if(_loc2_ == 0)
- {
- return 0;
- }
- var _loc7_ = Math.floor(Math.random() * _loc2_);
- catx = lx[_loc7_];
- caty = ly[_loc7_];
- catdir = ld[_loc7_];
- return 1;
- }
-